home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sprite 1984 - 1993
/
Sprite 1984 - 1993.iso
/
src
/
lib
/
c
/
gnulib
/
sun4.md
/
modf.s
< prev
next >
Wrap
Text File
|
1989-09-24
|
3KB
|
97 lines
.text
.globl _modf
_modf: save %sp, -0x50, %sp
st %i0, [%fp + 0x44]
ld [%fp + 0x44], %f28
L_0xc: st %i1, [%fp + 0x48]
L_0x10: ld [%fp + 0x48], %f29
L_0x14: sethi %hi(L_0x150), %o0
L_0x18: ldd [%o0 + %lo(L_0x150)], %f0
L_0x1c: fcmped %f28, %f0
L_0x20: nop
L_0x24: fbul,a L_0x38
L_0x28: fmovs %f28, %f2
L_0x2c: fmovs %f28, %f30
L_0x30: ba L_0x48
L_0x34: fmovs %f29, %f31
L_0x38: fmovs %f29, %f3
L_0x3c: fnegs %f2, %f2
L_0x40: fmovs %f3, %f31
L_0x44: fmovs %f2, %f30
L_0x48: sethi %hi(L_0x158), %o1
L_0x4c: ldd [%o1 + %lo(L_0x158)], %f4
L_0x50: fcmped %f30, %f4
L_0x54: nop
L_0x58: fbul,a L_0x6c
L_0x5c: sethi %hi(L_0x158), %o0
L_0x60: st %f28, [%i2]
L_0x64: ba L_0x10c
L_0x68: st %f29, [%i2 + 0x4]
L_0x6c: ldd [%o0 + %lo(L_0x158)], %f6
L_0x70: faddd %f30, %f6, %f8
L_0x74: st %f8, [%i2]
L_0x78: st %f9, [%i2 + 0x4]
L_0x7c: ldd [%o0 + %lo(L_0x158)], %f10
L_0x80: ld [%i2], %f12
L_0x84: ld [%i2 + 0x4], %f13
L_0x88: fsubd %f12, %f10, %f14
L_0x8c: st %f14, [%i2]
L_0x90: st %f15, [%i2 + 0x4]
L_0x94: ld [%i2], %f16
L_0x98: ld [%i2 + 0x4], %f17
L_0x9c: fcmped %f16, %f30
L_0xa0: nop
L_0xa4: fbule,a L_0xe4
L_0xa8: sethi %hi(L_0x150), %o5
L_0xac: sethi %hi(L_0x160), %o4
L_0xb0: ldd [%o4 + %lo(L_0x160)], %f18
L_0xb4: ld [%i2], %f20
L_0xb8: ld [%i2 + 0x4], %f21
L_0xbc: fsubd %f20, %f18, %f22
L_0xc0: st %f22, [%i2]
L_0xc4: st %f23, [%i2 + 0x4]
L_0xc8: ld [%i2], %f16
L_0xcc: ld [%i2 + 0x4], %f17
L_0xd0: fcmped %f16, %f30
L_0xd4: nop
L_0xd8: fbg,a L_0xb0
L_0xdc: sethi %hi(L_0x160), %o4
L_0xe0: sethi %hi(L_0x150), %o5
L_0xe4: ldd [%o5 + %lo(L_0x150)], %f24
L_0xe8: fcmped %f28, %f24
L_0xec: nop
L_0xf0: fbuge,a L_0x110
L_0xf4: ld [%i2], %f0
L_0xf8: ld [%i2], %f26
L_0xfc: fnegs %f26, %f26
L_0x100: ld [%i2 + 0x4], %f27
L_0x104: st %f26, [%i2]
L_0x108: st %f27, [%i2 + 0x4]
L_0x10c: ld [%i2], %f0
L_0x110: ld [%i2 + 0x4], %f1
L_0x114: fsubd %f28, %f0, %f2
L_0x118: fmovs %f3, %f31
L_0x11c: fmovs %f2, %f30
L_0x120: fmovs %f31, %f1
L_0x124: fmovs %f30, %f0
L_0x128: ret
L_0x12c: restore
.seg "data"
L_0x130: .long 0x40282329
L_0x134: .long 0x6d6f6466
L_0x138: .long 0x2e632031
L_0x13c: .long 0x2e342038
L_0x140: .long 0x382f3032
L_0x144: .long 0x2f303820
L_0x148: .long 0x534d4900
L_0x14c: .long 0x00000000
L_0x150: .long 0x00000000
L_0x154: .long 0x00000000
L_0x158: .long 0x43300000
L_0x15c: .long 0x00000000
L_0x160: .long 0x3ff00000
L_0x164: .long 0x00000000